home *** CD-ROM | disk | FTP | other *** search
- #include <stddef.h>
- #include <aes.h>
-
- #define FALSE 0
- #define TRUE 1
-
- int rsrc_sobject(RSHDR *rsc, int re_gtype, int re_gindex, void *gaddr )
- {
- switch (re_gtype)
- {
- case R_TREE :
- if ((re_gindex >= 0) && (re_gindex < rsc->rsh_ntree))
- {
- ((OBJECT**)(rsc->rsh_trindex + (long)rsc))[re_gindex] = gaddr;
- return(TRUE);
- }
- break;
- case R_OBSPEC :
- if ((re_gindex >= 0) && (re_gindex < rsc->rsh_nobs))
- {
- (void*)((OBJECT*)(rsc->rsh_object + (long)rsc + sizeof(OBJECT)*re_gindex))->ob_spec.index = gaddr;
- return(TRUE);
- }
- break;
- case R_TEPTEXT :
- if ((re_gindex >= 0) && (re_gindex < rsc->rsh_nted))
- {
- ((TEDINFO*)(rsc->rsh_tedinfo + (long)rsc + sizeof(TEDINFO)*re_gindex))->te_ptext = gaddr;
- return(TRUE);
- }
- break;
- case R_TEPTMPLT :
- if ((re_gindex >= 0) && (re_gindex < rsc->rsh_nted))
- {
- ((TEDINFO*)(rsc->rsh_tedinfo + (long)rsc + sizeof(TEDINFO)*re_gindex))->te_ptmplt = gaddr;
- return(TRUE);
- }
- break;
- case R_TEPVALID :
- if ((re_gindex >= 0) && (re_gindex < rsc->rsh_nted))
- {
- ((TEDINFO*)(rsc->rsh_tedinfo + (long)rsc + sizeof(TEDINFO)*re_gindex))->te_pvalid = gaddr;
- return(TRUE);
- }
- break;
- case R_IBPMASK :
- if ((re_gindex >= 0) && (re_gindex < rsc->rsh_nib))
- {
- ((ICONBLK*)(rsc->rsh_iconblk + (long)rsc + 34UL*re_gindex))->ib_pmask = gaddr; /* 34 = (sizeof(ICONBLK)-2) */
- return(TRUE);
- }
- break;
- case R_IBPDATA :
- if ((re_gindex >= 0) && (re_gindex < rsc->rsh_nib))
- {
- ((ICONBLK*)(rsc->rsh_iconblk + (long)rsc + 34UL*re_gindex))->ib_pdata = gaddr; /* 34 = (sizeof(ICONBLK)-2) */
- return(TRUE);
- }
- break;
- case R_IPBTEXT :
- if ((re_gindex >= 0) && (re_gindex < rsc->rsh_nib))
- {
- ((ICONBLK*)(rsc->rsh_iconblk + (long)rsc + 34UL*re_gindex))->ib_ptext = gaddr; /* 34 = (sizeof(ICONBLK)-2) */
- return(TRUE);
- }
- break;
- case R_BIPDATA :
- if ((re_gindex >= 0) && (re_gindex < rsc->rsh_nbb))
- {
- ((BITBLK*)(rsc->rsh_bitblk + (long)rsc + sizeof(BITBLK)*re_gindex))->bi_pdata = gaddr;
- return(TRUE);
- }
- }
- return(FALSE);
- }
-